package com.ccys.db.vo.app.getStarted;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

/**
 * @Author：XLY
 * @Date：2024/1/23 0023
 */

@Data
public class GetDoctorListV3Vo {


    @JsonProperty("is_show_available_doctor")
    private boolean isShowAvailableDoctor;

    @JsonProperty("consult_fee_doctor_indonesia")
    private String consultFeeDoctorIndonesia;

    @JsonProperty("consult_fee_doctor_singapore")
    private String consultFeeDoctorSingapore;

    @JsonProperty("total_page")
    private Integer totalPage;

    private List<DoctorVo> doctors;

    @JsonProperty("language_filters")
    private List<LanguageFilterVo> languageFilters;

    @Data
    public static class DoctorVo{
        private String id;

        @JsonProperty("first_name")
        private String firstName;

        @JsonProperty("last_name")
        private String lastName;

        @JsonProperty("license_no")
        private String licenseNo;

        private String gender;

        @JsonProperty("no_time_of_visit")
        private Integer noTimeOfVisit;

        @JsonProperty("profile_photo")
        private String profilePhoto;

        @JsonProperty("estimated_time_text")
        private String estimatedTimeText;

        @JsonProperty("online_status")
        private boolean onlineStatus;

        @JsonProperty("consult_fee")
        private List<ConsultFee> consultFee;

        @JsonProperty("consult_fee_from")
        private String consultFeeFrom;

        @JsonProperty("member_benefit_profile")
        private String memberBenefitProfile;

        private List<DoctorLanguageVo> languages;

        @JsonProperty("is_allow_booking")
        private boolean isAllowBooking;

        @JsonProperty("next_available")
        private String nextAvailable;

        private String timezone;

        @JsonProperty("est_no_of_patients")
        private Integer estNoOfPatients;

        @JsonProperty("company_name")
        private String companyName;

        @JsonProperty("is_no_consult_appointment")
        private boolean isNoConsultAppointment;

        @JsonProperty("is_utilise_WCAppt")
        private boolean isUtiliseWCAppt;

        @JsonProperty("is_show_patient_in_queue")
        private boolean isShowPatientInQueue;

        @JsonProperty("is_corporate_benefit_applied")
        private boolean isCorporateBenefitApplied;

    }


    @Data
    public static class ConsultFee{
        private String label;

        private String rate;

        private String description;
    }


    @Data
    public static class DoctorLanguageVo{
        @JsonIgnore
        private String id;

        private String language;
    }


    @Data
    public static class LanguageFilterVo{
        
        private String id;
        
        private String language;
    }

    //"is_show_available_doctor": false,
    //        "consult_fee_doctor_indonesia": "",
    //        "consult_fee_doctor_singapore": "",
    //        "total_page": 5,
    //        "doctors": [
    //            {
    //                "id": "8427b4b4-38c8-4451-bc21-57c8361f9c84",
    //                "first_name": "@Duy",
    //                "last_name": "NCP",
    //                "license_no": "1234",
    //                "gender": "male",
    //                "no_time_of_visit": 0,
    //                "profile_photo": "https://whcapi-qa.whitecoat.global/v1/pub/Component/ViewImage?&acc_type=GyZ7SILItMGsK6IKRiIffg%3d%3d&acc_id=EOs%2fvh8QugMr%2fIWDfoSi0jKJDkoXaOaymdi0gTB24%2bXg4aMenIbtzBMI%2blR5Z92n&img_type=zvNPQ7izgW0mYNIDyKIr2g%3d%3d&latest_update=638296130400000000",
    //                "estimated_time_text": "",
    //                "online_status": true,
    //                "consult_fee": [
    //                    {
    //                        "label": "Office Hours",
    //                        "rate": "250,000 VND",
    //                        "description": "Test description. Phí tư vấn không bao gồm GST, chi phí thuốc và phí giao hàng (nếu có). Bên mua bảo hiểm Bệnh hiểm nghèo của AIA sẽ được hưởng mức giá bên mua bảo hiểm AIA được áp dụng vào cuối buổi tư vấn."
    //                    },
    //                    {
    //                        "label": "After Office Hours",
    //                        "rate": "300,000 VND",
    //                        "description": "Test description. Phí tư vấn không bao gồm GST, chi phí thuốc và phí giao hàng (nếu có). Bên mua bảo hiểm Bệnh hiểm nghèo của AIA sẽ được hưởng mức giá bên mua bảo hiểm AIA được áp dụng vào cuối buổi tư vấn."
    //                    }
    //                ],
    //                "consult_fee_from": "250,000 VND",
    //                "member_benefit_profile": null,
    //                "languages": [
    //                    {
    //                        "language": "English"
    //                    }
    //                ],
    //                "is_allow_booking": false,
    //                "next_available": null,
    //                "timezone": "+08:00",
    //                "est_no_of_patients": 0,
    //                "company_name": "ABC Whitecoat",
    //                "is_on_consult_appointment": false,
    //                "is_utilise_WCAppt": true,
    //                "is_show_patient_in_queue": false,
    //                "is_corporate_benefit_applied": false
    //            }
}
